#pragma warning disable 108
using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using Cephei;
using Cephei.Core;
using Cephei.Core.Generic;
using Microsoft.FSharp.Core;
namespace Cephei.QL.Termstructures.Yield
{
    /// <summary> 
	/// Fits a discount function to the simple polynomial form: \f[ d(t) = \sum_{i=0}^{degree}  c_i * t^{i} \f] where the constants \f$ c_i \f$ are to be determined.  This is a simple/crude, but fast and robust, means of fitting a yield curve.
	/// </summary>
    [Guid ("6F612D07-735C-49d5-ABA9-B5378553AE07"),ComVisible(true)]
	public interface ISimplePolynomialFitting 
	{
		///////////////////////////////////////////////////////////////
        // Methods
        //
    }   

    /// <summary> 
	/// Fits a discount function to the simple polynomial form: \f[ d(t) = \sum_{i=0}^{degree}  c_i * t^{i} \f] where the constants \f$ c_i \f$ are to be determined.  This is a simple/crude, but fast and robust, means of fitting a yield curve. Factory
	/// </summary>
   	[ComVisible(true)]
    public interface ISimplePolynomialFitting_Factory 
    {
        ///////////////////////////////////////////////////////////////
        // Factory methods
        //
        /// <summary> 
		/// 
		/// </summary>
	    ISimplePolynomialFitting Create (UInt32 degree, Microsoft.FSharp.Core.FSharpOption<Boolean> constrainAtZero);
    }
}

